home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 October / PCWorld_2004-10_cd.bin / software / temacd / sandra / san2004.SP2b-9133-Win32-SSO.exe / {app} / examples / Oracle Schema.sql < prev    next >
Text File  |  2004-03-25  |  4KB  |  162 lines

  1.  
  2. --
  3. -- Oracle 7.3.3.x.x/8.0.4.x.x Schema for Sandra Report
  4. --
  5. -- Schema is assumed to have been created already.
  6. -- No extents included, please add as required.
  7. --
  8. -- Copyright 1995-2004, C. A. Silasi, SiSoftware.
  9. -- All Rights Reserved.
  10.  
  11. --
  12. -- Kill all tables
  13. --
  14.  
  15. DROP TABLE TItem;
  16.  
  17. DROP TABLE TItemGroup;
  18.  
  19. DROP TABLE TDevice;
  20.  
  21. DROP TABLE TClass;
  22.  
  23. DROP TABLE TModule;
  24.  
  25. DROP TABLE TReport;
  26.  
  27. DROP TABLE TIDCount;
  28.  
  29. --
  30. -- Kill all sequences
  31. --
  32.  
  33. DROP SEQUENCE seqItem;
  34.  
  35. DROP SEQUENCE seqItemGroup;
  36.  
  37. DROP SEQUENCE seqDevice;
  38.  
  39. DROP SEQUENCE seqClass;
  40.  
  41. DROP SEQUENCE seqModule;
  42.  
  43. DROP SEQUENCE seqReport;
  44.  
  45. --
  46. -- Create new sequences
  47. --
  48.  
  49. CREATE SEQUENCE seqItem MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  50.  
  51. CREATE SEQUENCE seqItemGroup MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  52.  
  53. CREATE SEQUENCE seqDevice MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  54.  
  55. CREATE SEQUENCE seqClass MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  56.  
  57. CREATE SEQUENCE seqModule MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  58.  
  59. CREATE SEQUENCE seqReport MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  60.  
  61. --
  62. -- Create new tables
  63. --
  64.  
  65. CREATE TABLE TReport (
  66.     ID            INTEGER PRIMARY KEY,
  67.     ProgramName        VARCHAR2(255),
  68.     ProgramVersion        VARCHAR2(255),
  69.     RegisteredUser        VARCHAR2(255),
  70.     RegisteredCompany    VARCHAR2(255),
  71.     LicenceStatus        VARCHAR2(255),
  72.     LicenceExtra        VARCHAR2(255),
  73.     UserID            VARCHAR2(255),
  74.     HostName        VARCHAR2(255),
  75.     SystemID        VARCHAR2(255),
  76.     WebUserID        VARCHAR2(255),
  77.     RunID            VARCHAR2(255),
  78.     RunDate            DATE DEFAULT SYSDATE,
  79.     Completed        NUMBER(1) NOT NULL
  80. );
  81.  
  82. CREATE TABLE TModule (
  83.     ID            INTEGER PRIMARY KEY,
  84.     ReportID        INTEGER REFERENCES TReport(ID),
  85.     Name            VARCHAR2(255) NOT NULL,
  86.     TypeID            INTEGER NOT NULL,
  87.     HasClass        NUMBER(1) NOT NULL,
  88.     HasDevice        NUMBER(1) NOT NULL,
  89.     HelpID            INTEGER NOT NULL
  90. );
  91.  
  92. CREATE TABLE TClass (
  93.     ID            INTEGER PRIMARY KEY,
  94.     ModuleID        INTEGER REFERENCES TModule(ID),
  95.     Name            VARCHAR2(255) NOT NULL,
  96.     TypeID            INTEGER NOT NULL,
  97.     HelpID            INTEGER NOT NULL
  98. );
  99.  
  100. CREATE TABLE TDevice (
  101.     ID            INTEGER PRIMARY KEY,
  102.     ModuleID        INTEGER REFERENCES TModule(ID),
  103.     ClassID            INTEGER,
  104.     Name            VARCHAR2(255) NOT NULL,
  105.     TypeID            INTEGER NOT NULL,
  106.     HelpID            INTEGER NOT NULL
  107. );
  108.  
  109. CREATE TABLE TItemGroup (
  110.     ID            INTEGER PRIMARY KEY,
  111.     ModuleID        INTEGER REFERENCES TModule(ID),
  112.     ClassID            INTEGER,
  113.     DeviceID        INTEGER,
  114.     Name            VARCHAR2(255) NOT NULL,
  115.     TypeID            INTEGER NOT NULL,
  116.     HelpID            INTEGER NOT NULL
  117. );
  118.  
  119. CREATE TABLE TItem (
  120.     ID            INTEGER PRIMARY KEY,
  121.     ModuleID        INTEGER REFERENCES TModule(ID),
  122.     GroupID            INTEGER,
  123.     Name            VARCHAR2(255) NOT NULL,
  124.     DataValue        VARCHAR2(255),
  125.     IconID            INTEGER NOT NULL,
  126.     TypeID            INTEGER NOT NULL,
  127.     HelpID            INTEGER NOT NULL
  128. );
  129.  
  130. CREATE TABLE TIDCount (
  131.     TableName        VARCHAR2(10) PRIMARY KEY,
  132.     CurrentID        INTEGER NOT NULL
  133. );
  134.  
  135. --
  136. -- Set-up keys/indexes
  137. --
  138.  
  139. CREATE INDEX ndxUserID ON TReport(UserID);
  140.  
  141. CREATE INDEX ndxSystemID ON TReport(SystemID);
  142.  
  143. CREATE INDEX ndxWebUserID ON TReport(WebUserID);
  144.  
  145. CREATE INDEX ndxModuleName ON TModule(Name);
  146.  
  147. CREATE INDEX ndxItemName ON TItem(Name);
  148.  
  149. --
  150. -- Inserts
  151. --
  152.  
  153. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TItem', 1);
  154. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TItemGroup', 1);
  155. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TDevice', 1);
  156. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TClass', 1);
  157. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TModule', 1);
  158. INSERT INTO TIDCount (TableName, CurrentID) VALUES ('TReport', 1);
  159.  
  160.  
  161.  
  162.